home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 081-090 / amok82 / plot / source / myuties.mod < prev    next >
Text File  |  1993-11-04  |  2KB  |  120 lines

  1. IMPLEMENTATION MODULE MyUties;
  2. FROM SYSTEM IMPORT FFP;
  3. (*
  4.   Created: 13.02.1988 by
  5.              Stefan Salewski
  6.              Stolper Weg 3
  7.              2160 Stade   West-Germany
  8.              Tel: 04141/61130
  9.              
  10.   Note: compiled with AMIGA Modula-2 System by AMSoft from 5.5.88
  11.    
  12.   This Module may be freely copied. But please
  13.   leave my name in. Thanks....Stefan  
  14. *)
  15.  
  16.   PROCEDURE Buchstabe(c:CHAR):BOOLEAN;
  17.   BEGIN
  18.     RETURN ((c>='a') AND (c<='z')) OR ((c>='A') AND (c<='Z'))
  19.   END Buchstabe;
  20.   PROCEDURE IsADigit(c:CHAR):BOOLEAN;
  21.   BEGIN
  22.     RETURN (c>='0') AND (c<='9')
  23.   END IsADigit;
  24.   PROCEDURE AddOp(c:CHAR):BOOLEAN;
  25.   BEGIN
  26.     RETURN ((c='+') OR (c='-'))
  27.   END AddOp;
  28.   PROCEDURE MulOp(c:CHAR):BOOLEAN;
  29.   BEGIN
  30.     RETURN ((c='*') OR (c='/'))
  31.   END MulOp; 
  32.   PROCEDURE Operator(c:CHAR):BOOLEAN;
  33.   BEGIN
  34.     RETURN (c='+') OR (c='-') OR (c='*') OR (c='/') OR (c='^')
  35.   END Operator;
  36.   PROCEDURE Max(i,j:INTEGER):INTEGER;
  37.   BEGIN
  38.     IF i>j THEN 
  39.       RETURN i
  40.     ELSE
  41.       RETURN j
  42.     END;
  43.   END Max;
  44.   PROCEDURE Min(i,j:INTEGER):INTEGER;
  45.   BEGIN
  46.     IF i<j THEN 
  47.       RETURN i
  48.     ELSE
  49.       RETURN j
  50.     END;
  51.   END Min;
  52.   PROCEDURE exp10(i:INTEGER):LONGREAL;
  53.     VAR x,a,b,c:LONGREAL;
  54.       j:INTEGER;
  55.   BEGIN
  56.     IF i<0 THEN
  57.       a:=1.0E-1;
  58.       b:=1.0E-10;
  59.       c:=1.0E-50;
  60.     ELSE
  61.       a:=1.0E1;
  62.       b:=1.0E10;
  63.       c:=1.0E50;
  64.     END;
  65.     x:=1.0;
  66.     i:=ABS(i);
  67.     j:=1;
  68.     WHILE j<=i DO
  69.       IF i-j>=49 THEN
  70.         x:=x*c;
  71.         INC(j,50);
  72.       ELSIF
  73.         i-j>=9 THEN
  74.         x:=x*b;
  75.         INC(j,10);
  76.       ELSE
  77.         x:=x*a;
  78.         INC(j)
  79.       END;
  80.     END;
  81.     RETURN x
  82.   END exp10;
  83.  
  84.   PROCEDURE exp10FFP(i:INTEGER):FFP;
  85.     VAR x,a,b:FFP;
  86.       j:INTEGER;
  87.   BEGIN
  88.     IF i<0 THEN
  89.       a:=1.0E-1;
  90.       b:=1.0E-10;
  91.     ELSE
  92.       a:=1.0E1;
  93.       b:=1.0E10;
  94.     END;
  95.     x:=1.0;
  96.     i:=ABS(i);
  97.     j:=1;
  98.     WHILE j<=i DO
  99.       IF i-j>=9 THEN
  100.         x:=x*b;
  101.         INC(j,10);
  102.       ELSE
  103.         x:=x*a;
  104.         INC(j)
  105.       END;
  106.     END;
  107.     RETURN x
  108.   END exp10FFP; 
  109.       
  110.   PROCEDURE Ziffer(i:DeziNummer):DeziZiffer;
  111.   BEGIN
  112.     RETURN CHAR(i+CARDINAL('0'));
  113.   END Ziffer;
  114.     
  115.   PROCEDURE Nummer(z:DeziZiffer):DeziNummer;
  116.   BEGIN
  117.     RETURN (CARDINAL(z)-CARDINAL('0'))
  118.   END Nummer;
  119. END MyUties.mod
  120.